package view.user;


import model.user.User;
import view.MyAbstractTableModel;

import java.util.ArrayList;

public class UserTableModel extends MyAbstractTableModel<User> {

    public UserTableModel(){
        //初始化数据
        datas = new ArrayList<>() ;
        datas.add(new User("1001","zhangsan1","软件工程","男","12345")) ;
        datas.add(new User("1002","zhangsan2","软件工程","男","12345")) ;
        datas.add(new User("1003","zhangsan3","软件工程","男","12345")) ;
        datas.add(new User("1004","zhangsan4","软件工程","男","12345")) ;
        //定义表头
        this.columnNames = new String[]{"姓名","联系方式","身份证号","会员等级"};

    }

    /**
     * 改方法主要作用是指定在每个单元格中显示什么数据   ，当初始化表格的时候会自动调用该方法 ，然后把数据显示在table里
     * 参数 obj 代表从List集合中取出的一行数据
     * 参数 index 代表改行数据的列索引
     *
     * 如下面的写法表示：
     *  每取出一行数据，然后强制转化为 Course 对象，然后第 1 列显示Course的ID
     *  第2列  显示 Course的课程名称  ，第3列显示Course的授课老师ID
     *
     */
    protected Object getProperty(Object obj, int index) {

        User c = (User) obj;
        Object result = "";
        switch (index) {
            case 0:
                result = c.getName();
                break;
            case 1:
                result = c.getContactInformation() ;
                break;
            case 2:
                result = c.getIDNumber() ;
                break;
            case 3:
                result = c.getMembership() ;
                break;
        }
        return result;


    }

}

